package org.zfes.snowier.cloud.zbss.pmp.dao;
import java.util.List;
import org.apache.ibatis.annotations.Mapper;
import org.zfes.snowier.common.dao.mybatis.BaseMapper;
import org.zfes.snowier.common.dao.params.ParamMap;
import org.zfes.snowier.cloud.zbss.pmp.model.PmpProjectGroup;
import org.zfes.snowier.core.data.Record;
import org.apache.ibatis.annotations.Param;
@Mapper
public interface pmpProjectGroupMapper extends BaseMapper<PmpProjectGroup>{
	
	Long selectListCount(ParamMap params);
	
	List<Record> selectMapListPage(ParamMap params);
	
	List<PmpProjectGroup> selectModelListPage(ParamMap params);
	
	PmpProjectGroup selectByProIdAndUIdAndUType(@Param("projectId") Long projectId,@Param("userId") Long userId,@Param("userType") Byte userType);
	
	List<PmpProjectGroup> selectByProIdAndUType(@Param("projectId") Long projectId,@Param("userType") Byte userType);
	
	void deleteNumber(@Param("projectId") Long projectId,@Param("userId") Long userId,@Param("userType") Byte userType);
	
	int updateStatus(@Param("id")Long id, @Param("status")Byte status);
	
	List<Long> selectUserIdByProjectIdAndUserType(@Param("projectId") Long projectId,@Param("userType") Byte userType);
	
	List<PmpProjectGroup> selectByUseId(@Param("id") Long id);
	
	List<PmpProjectGroup> selectByProjectId(@Param("projectId") Long projectId, @Param("status")Byte status);

	PmpProjectGroup selectByProjeIdAndUid(@Param("projectId")Long projectId, @Param("userId")Long userId);
}
